commonlibsse_ng\re\b/
BGSSoundDescriptor.rs

1use crate::re::BGSSoundCategory::BGSSoundCategory;
2use crate::re::BSCoreTypes::FormID;
3use crate::re::BSISoundDescriptor::BSISoundDescriptor;
4use crate::re::BSISoundDescriptor::BSISoundDescriptorVtbl;
5use crate::re::TESFile::TESFile;
6use crate::re::TESForm::TESForm;
7use crate::re::offsets_rtti::RTTI_BGSSoundDescriptor;
8use crate::re::offsets_vtable::VTABLE_BGSSoundDescriptor;
9use crate::rel::id::VariantID;
10
11#[repr(C)]
12#[derive(Debug)]
13pub struct BGSSoundDescriptor {
14    pub __base: BSISoundDescriptor,      // 0x00
15    pub category: *mut BGSSoundCategory, // 0x08
16    pub alternateSoundFormId: FormID,    // 0x10
17    pub pad14: u32,                      // 0x14
18}
19const _: () = assert!(core::mem::size_of::<BGSSoundDescriptor>() == 0x18);
20
21impl BGSSoundDescriptor {
22    pub const RTTI: VariantID = RTTI_BGSSoundDescriptor;
23    pub const VTABLE: [VariantID; 1] = VTABLE_BGSSoundDescriptor;
24}
25
26#[repr(C)]
27pub struct BGSSoundDescriptorVtbl {
28    pub __base: BSISoundDescriptorVtbl, // 0x00
29    pub InitSound: extern "C" fn(this: *mut BGSSoundDescriptor, src: *mut TESForm), // 0x03
30    pub LoadSound: extern "C" fn(this: *mut BGSSoundDescriptor, mod_: *mut TESFile) -> bool, // 0x04
31    pub GetType: extern "C" fn(this: *const BGSSoundDescriptor) -> u32, // 0x05
32    pub Unk_06: extern "C" fn(this: *mut BGSSoundDescriptor), // 0x06
33}